#include "Avalon/WebServices/HttpClientChannel.hpp"

using namespace Avalon;
using namespace Avalon::IO;
using namespace Avalon::WebServices;
using namespace boost;
using namespace std;

HttpClientChannel::HttpClientChannel(Channel* channel)
    : m_channel(channel),
      m_isReadPending(false) {}

HttpClientChannel::~HttpClientChannel() {}

HttpRequestParser& HttpClientChannel::GetHttpRequestParser() {
  return m_httpRequestParser;
}

ConnectionState& HttpClientChannel::GetChannelState() {
  return m_channelState;
}

bool HttpClientChannel::IsReadPending() {
  return m_isReadPending;
}

void HttpClientChannel::SetReadPending(bool value) {
  m_isReadPending = value;
}

Buffer& HttpClientChannel::GetReadBuffer() {
  return m_readBuffer;
}

Connection& HttpClientChannel::GetConnection() {
  return m_channel->GetConnection();
}

Reader& HttpClientChannel::GetReader() {
  return m_channel->GetReader();
}

Writer& HttpClientChannel::GetWriter() {
  return m_channel->GetWriter();
}
